/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package logic;

import GUI.DisciplinaEdicaoGUI;
import bo.DisciplinaBO;
import entidades.Disciplina;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFrame;

/**
 *
 * @author paulinha
 */
public class FuncoesDisciplinaGUI {

    public static List <Disciplina> ListarDisciplinas (){
        List<Disciplina> listaDisciplinas = new ArrayList();
     
        try {
            listaDisciplinas = DisciplinaBO.getInstance().listar();
        } catch(Exception ex) {
            Logger.getLogger(FuncoesDisciplinaGUI.class.getName()).log(Level.SEVERE, null, ex);
        }
        return listaDisciplinas;
    }

    public static int ProcurarDisciplina(String NomeDisciplina){
        List <Disciplina> lista = new ArrayList <Disciplina> ();
        Disciplina disciplina = null;
       
        try {
            lista = DisciplinaBO.getInstance().listar();
        } catch(Exception ex) {
            Logger.getLogger(FuncoesDisciplinaGUI.class.getName()).log(Level.SEVERE, null, ex);
        }
        for(int i = 0; i < lista.size(); i++ ){
            disciplina = lista.get(i);
            if(disciplina.getNomeDisciplina().equalsIgnoreCase(NomeDisciplina))
                return i;
        }
        return -1;
    }

    public static int FuncionalidadeExcluir(String NomeDisciplina){
        int resultado = -1;
        int index = ProcurarDisciplina(NomeDisciplina);

        if(index != -1){
            try{
                DisciplinaBO.getInstance().excluir(index);
            } catch(Exception ex) {
                Logger.getLogger(FuncoesDisciplinaGUI.class.getName()).log(Level.SEVERE, null, ex);
            }
            resultado = 0;
        }
        return resultado;
    }

    public static int FuncionalidadeAlterar(String NomeDisciplina){
        int resultado = -1;
        int index = ProcurarDisciplina(NomeDisciplina);

        if(index != -1){
            DisciplinaEdicaoGUI f = new DisciplinaEdicaoGUI(RetornaDisciplina(NomeDisciplina),1);
            f.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
            f.setVisible(true);
            resultado = 0;
        }
        return resultado;
    }

    public static Disciplina RetornaDisciplina(String NomeDisciplina){
        List <Disciplina> lista = new ArrayList <Disciplina> ();
        Disciplina disciplina = null;
        try{
            lista = DisciplinaBO.getInstance().listar();
        } catch(Exception ex) {
            Logger.getLogger(FuncoesDisciplinaGUI.class.getName()).log(Level.SEVERE, null, ex);
        }
        for(int i = 0; i < lista.size(); i++ ){
            disciplina = lista.get(i);
            if(disciplina.getNomeDisciplina().equalsIgnoreCase(NomeDisciplina))
                return disciplina;
        }
        return null;
    }
}